import { login } from '@/api/login'

const loginModule = {
  state: {
    token: null,
    userInfo: null,
  },
  getters: {
    token: (state) => state.token,
    userInfo: (state) => state.userInfo,
  },
  mutations: {
    loginSuccess(state, payload) {
      state.token = payload.token
      state.userInfo = payload.userInfo
    },
    //
    // // 重置状态数据
    // reset(state){
    //     state.token = null;
    //     state.userInfo = null;
    // }
  },
  actions: {
    // async loginAction(user) {
    //     const result = await login(user)
    //     console.log('result:', result)
    //     // 结果中有 userInfo 则说明登录成功，则否登录失败
    //     if (result.userInfo) {
    //         this.token = result.token
    //         this.userInfo = result.userInfo
    //         return true // 成功
    //     } else {
    //         return false // 失败
    //     }
    // 处理用户登录后的状态数据
    async loginAction(context, payload) {
      try {
        const result = await login(payload)
        console.log(result)
        if (result.userInfo) {
          // this.token = result.token
          // this.userInfo = result.userInfo
          // 登录成功，添加账户余额信息
          result.userInfo.balance = 99
          context.commit('loginSuccess', result)
          return true // 成功
        } else {
          return false // 失败
        }
        // if (result.status === 200){
        //     context.commit('loginSuccess', result)
        //     return true
        // } else {
        //     // context.commit('reset')
        //     return false
        // }
      } catch (error) {
        // 出现异常则重置用户登录状态
        // context.commit('reset')
        return false
      }
    },
  },
}

export default loginModule
